Tema 09 - Selección y Regularización

Técnicas para ‘Big Data’ en Economía - Curso 2023/24
Universidad de Alicante

Pedro Albarrán

Dpto. de Fundamentos del Análisis Económico. Universidad de Alicante

Introducción

  • MCO puede estimar modelos con muchos regresores (ej., polinomios e interacciones para relaciones no lineales), pero ¿qué variables incluimos?

  • Cuando crece el número de parámetros \(\small k\) relativo al de observaciones \(\small n\):

    • menor precisión (+ varianza) \(\Rightarrow\) no solución única de MCO con \(\small k>n\)
    • modelo complejo y menos interpretable\(\Rightarrow\) selección de variables
  1. Selección de variables: excluir variables irrelevantes y ajustar ese modelo reducido por mínimos cuadrados ordinarios

  2. Restricción de los coeficientes estimados puede reducir la varianza, a costa de un aumento insignificante del sesgo (Regresión Regularizada/Penalizada)

  3. Reducción de la dimensionalidad: usar \(\small M<k\) combinaciones lineales (proyecciones) y estimar por mínimos cuadrados (PCR, PLS)

Métodos de selección de variables

  • Selección del mejor subconjunto: estimar \(\small 2^k\) modelos posibles con cada combinación de regresores y elegir aquel con menor error \(\Rightarrow\) prohibitivo!

  • Alternativas factibles (consideran un menor número de modelos)

    1. Selección paso a paso hacia adelante: añadir un regresor cada vez, eligiendo aquel con menor error en cada paso

    2. Selección paso a paso hacia atrás (no factible si \(\small k>n\))

    3. Selección mixta: en cada paso se añaden variables de forma secuencial, pero también se eliminan algunas (p-valor alto)

  • No tienen criterio riguroso, no llevan a la misma solución y no garantizan encontrar el mejor subconjunto (ej., elimina pronto un regresor importante)

Ajustes mediante penalización

  • Los métodos de ajuste ofrecen una estimación indirecta del error de prueba, en la muestra de entrenamiento mediante supuestos (erróneos?)

  • El \(\small SCR\) de entrenamiento siempre se reduce si el modelo es más flexible \(\Rightarrow\) añadir una penalización por número de parámetros

    • Criterio de Información de Akaike: \(\small AIC = \frac{1}{n}\left( SCR + 2 k \widehat{\sigma}^2 \right)\)

      • \(\small \widehat{\sigma}^2\) un estimación de la varianza del error
    • Criterio de Información Bayesiano: \(\small BIC = \frac{1}{n}\left( SCR + log(n) k \widehat{\sigma}^2 \right)\)

    • \(\small R^2-ajustado = 1- \frac{SCR/(n-k-1)}{SCT/(n-1)}\)

  • Validación cruzada ofrece una estimación más directa pero es más costosa (computacionalmente, menor tamaño muestral para estimar)

Métodos de regularización

  • En MCO: \(\small \min_{\beta} SCR={\sum_{i=1}^{n}\left(y-\widehat{y}\right)^2}\)

  • En Regresión Penalizada o Regularizada, se añade una restricción que limite (reduzca) los coeficientes estimados \[\small \min_{\beta} SCR \text { sujeto a }R(\beta) \leq t\]

    • donde \(R(\cdot)\) es una medida del tamaño de los coeficientes

    • NO se penaliza a la constante (media de \(\small Y\)), solo el impacto de \(\small X\)

  • La restricción limita la importancia de las \(\small X\) para explicar \(\small Y\): empeora el ajuste (sesgo), pero reduce la varianza \(\Rightarrow\) previene “overfitting”

  • Permite ajustar un modelo que contenga todos los regresores

Métodos de regularización (cont.)

  • Reescribiendo el problema (Lagrangiano): \(\small \min_{\beta} SCR+\lambda R(\beta)\)

  • \(\lambda \geq 0\) es un parámetro de ajuste (“tuning parameter”)

Método Penalización por tamaño = \(R(\boldsymbol{\beta})\) Norma
MCO 0
LASSO \(\lVert\boldsymbol{\beta}\rVert_1=\sum_{j=1}^{k}|\beta_j|\) \(\ell_1\): \(||\boldsymbol{\beta}||_1=\sum_{j=1}^{k}|\beta_j|\)
Ridge Regression \(\lVert\boldsymbol{\beta}\rVert_2^2 =\sum_{j=1}^{k}\beta_j^2\) \(\ell_2\): \(||\boldsymbol{\beta}||_2=\sqrt{\sum_{j=1}^{k}\beta_j^2}\)
Red Elásica \(\alpha\lVert\boldsymbol{\beta}\rVert_1 + (1-\alpha)\lVert\boldsymbol{\beta}\rVert_2^2\)

Penalización de contracción

  • Para un \(\scriptsize \lambda\) dado: \(\small \widehat{\beta}^R_{\lambda} = \arg \min_\beta SCR + \lambda \sum_{j=1}^{k}\beta_j^2\)

\[ \small \widehat{\beta}^L_{\lambda} = \arg \min_\beta SCR + \lambda \sum_{j=1}^{k}|\beta_j| \]

  • Tratamos de ajustarnos a los datos minimizando SCR, PERO se recompensa a los coeficientes cercanos a cero

  • Debemos estandarizar los regresores: \(\scriptsize \widetilde{x}_{ij} = \frac{x_{ij}}{\sqrt{ \frac{1}{n}\sum_{i=1}^n(x_{ij}-\bar{x}_j)^2}}\)

    • misma escala, misma “cercanía a cero”
  • En MCO, si multiplicamos \(\scriptsize X_j\) por \(\scriptsize c\), su coeficiente estimado se reescala por \(\scriptsize 1/c\): el valor predicho \(\scriptsize \widehat{\beta_j}X_j\) no cambia \(\Rightarrow\) \(SCR\) no cambia

  • En Regresión Regularizada, la penalización sí cambia al reescalar \(\Rightarrow\) los coeficientes estimados pueden cambiar drásticamente

Regularización y “Trade-off” sesgo-varianza

  • ¿Por qué la regularización mejoraría el ajuste sobre MCO?

  • \(\small \lambda\)= importancia de la penalización (cuanto se contraen los coeficientes)

    • \(\small \lambda\) pequeño (cercano a MCO): mayor flexibilidad (\(-\) sesgo, \(+\) varianza)

    • \(\small \lambda >> 0\), todos los coeficientes a cero: menor flexibilidad (\(+\) sesgo, \(-\) varianza)

  • Regularización funciona mejor cuando MCO tiene alta varianza: intercambia un poco más de sesgo por una gran reducción de la varianza

  • “Ridge Regression” sigue incluyendo todos los regresores (ningún coeficiente exactamente cero): puede complicar la interpretación con muchos

  • LASSO (least absolute shrinkage and selection operator): también contrae hacia cero, algunos exactamente cero (selección de variables)

“Ridge Regression” y LASSO

  • “Ridge regression” domina con muchos regresores igualmente importantes

  • LASSO con pocos regresores importantes y muchos inútiles

  • LASSO es una alternativa a los contrastes de significatividad (sin formalización estadística)

  • Notad que LASSO es un método orientado a la predicción: NO se debe usar para afirmaciones de causalidad (los coeficientes están sesgados)

  • PERO se puede estimar por MCO la especificación de variables seleccionada por LASSO

Eligiendo el (hiper-)parámetro de ajuste

  1. Elegir un rango de valores para \(\small \lambda\)

  2. Calcular el error mediante validación cruzada para cada valor de \(\small \lambda\)

  3. Seleccionar el valor con menor error (probar varios rangos para encontrar forma de U)

  4. Volver a ajustar el modelo usando todas las observaciones y el valor del parámetro de ajuste seleccionado.

  • Ventaja sobre la selección de regresores: SOLO necesitamos ajustar un modelo para cada valor de \(\small \lambda\)

  • Regla de parquedad paramétrica: dado un conjunto de modelos igualmente buenos (dentro de un error estándar del menor error), elegir el más simple

glmnet para regresión lineal

library(mosaicData)
library(glmnet)

x <- model.matrix(data = RailTrail, volume ~ spring + summer + fall + 
                    weekday + poly(avgtemp, 6))

fit.lmreg <- glmnet(x = x, y = RailTrail$volume, family="gaussian", 
                    lambda=2, alpha=.5)
coef(fit.lmreg)
  • Elegimos el parámetro de regularización mediante validación cruzada
set.seed(1)
cv.glmnet(x, RailTrail$volume) %>% plot()

glmnet para regresión logística

censo <- read_csv("data/census.csv") %>%
  mutate(income = as.integer(factor(income))-1)

x <- model.matrix(income ~ education + relationship + poly(age,2) + 
                    workclass + occupation, 
              family = "binomial", data = censo)
fit.glmreg <- glmnet(x = x, y = censo$income, lambda=0.001, alpha=1)
coef(fit.glmreg)

# validación cruzada para elegir parámetro de regularización
set.seed(1)  
cv.glmnet(x, censo$income) %>% plot()